package com.lwx.leetcode.offer.dp;

public class Offer10One {
    final int MOD = 1000000007;
    public static void main(String[] args) {
        int n = 5;
        Offer10One o = new Offer10One();
        int fib = o.fib(5);
        System.out.println(fib);
    }
    public int fib(int n) {
        if(n < 0){
            return -1;
        }
        if(n == 0){
            return 0;
        }

        if(n == 1){
            return 1;
        }
        int[] dp = new int[n+1];
        dp[0] = 0;
        dp[1] = 1;
        for (int i = 2; i < n+1; i++) {
            dp[i] = (dp[i-1] + dp[i-2])% MOD;
        }
        return dp[n];
    }
}
